package com.zyl.blog.common.service;

import java.util.List;

/**
 * @version v1.0
 * @ProjectName: Personal_Blog
 * @Package: com.zyl.common.service
 * @ClassName: ITreeNode
 * @Description: 树节点接口
 * @Author FinalFantasy
 * @Date 2025/2/19-09:58
 */
public interface ITreeNode<T> {

    /**
     * 获取当前节点id
     * @return {@link T }
     */
    T getId();

    /**
     * 获取当前节点父节点id
     * @return {@link T }
     */
    T getParentId();

    /**
     * 获取当前节点子节点
     * @return {@link List }<{@link ITreeNode }<{@link T }>>
     */
    List<ITreeNode<T>> getChildren();

    /**
     * 填充子节点
     * @param children {@link List }<{@link ITreeNode }<{@link T }>>
     */
    void setChildren(List<ITreeNode<T>> children);
}